home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Delphi Informant Complete 1995 - 2000
/
Delphi Informant Complete 1995 to 2000.iso
/
Delphi Informant Magazine Complete Works SOURCE CODE 1998.rar
/
1998
/
Sep
/
di9809jp
/
BlastClient
/
main.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1998-03-05
|
3KB
|
120 lines
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, Winsock2, Mask;
const
MultiCastAddr = '234.5.6.7';
BlastCastPort = 9500;
BlastCastTTL = 2;
LoopBack = TRUE;
ReUse = TRUE;
UseWS2 = FALSE;
type
TfrmMain = class(TForm)
pcBlastClient: TPageControl;
tsMsg: TTabSheet;
tsSetUp: TTabSheet;
bbtnStart: TBitBtn;
bbtnStop: TBitBtn;
bbtnAbout: TBitBtn;
gbPort: TGroupBox;
edPort: TEdit;
udPort: TUpDown;
gbMultiCastAddr: TGroupBox;
bbtnExit: TBitBtn;
gbUseWS2MC: TGroupBox;
ckbWS2: TCheckBox;
gbStatusMsg: TGroupBox;
memStatusMsg: TMemo;
gbMessages: TGroupBox;
memMsg: TMemo;
edMCAddr: TEdit;
procedure bbtnStopClick(Sender: TObject);
procedure bbtnStartClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure bbtnExitClick(Sender: TObject);
procedure bbtnAboutClick(Sender: TObject);
private
end;
var
frmMain: TfrmMain;
implementation
{$R *.DFM}
uses
ListenThrd, About;
procedure TfrmMain.bbtnStopClick(Sender: TObject);
begin
// leave the multicast group
if thrdListen <> NIL then
begin
thrdListen.CloseSession;
bbtnStart.Enabled := TRUE;
bbtnStop.Enabled := FALSE;
end;
end;
procedure TfrmMain.bbtnStartClick(Sender: TObject);
var
Position : Integer;
WorkStr : String;
begin
with Options do
begin
WorkStr := edPort.Text;
Position := Pos(',',WorkStr);
if Position > 0 then
delete(WorkStr,Position,1);
Port := StrToInt(WorkStr);
Address := edMCAddr.Text;
UseWS2 := ckbWS2.Checked;
end;
bbtnStart.Enabled := FALSE;
bbtnStop.Enabled := TRUE;
thrdListen := TListenThrd.Create(Options);
frmMain.WindowState := wsMinimized;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
memMsg.Clear;
memStatusMsg.Clear;
edPort.Text := IntToStr(BlastCastPort);
udPort.Position := BlastCastPort;
edMCAddr.Text := MultiCastAddr;
ckbWS2.Checked := UseWS2;
with Options do
begin
Port := StrToInt(edPort.Text);
Address := edMCAddr.Text;
UseWS2 := ckbWS2.Checked;
end;
end;
procedure TfrmMain.bbtnExitClick(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.bbtnAboutClick(Sender: TObject);
begin
try
frmAbout := TFrmAbout.Create(NIL);
frmAbout.ShowModal;
finally
frmAbout.Free;
end;
end;
end.